package com.gdust.lease.web.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gdust.lease.model.entity.ApartmentInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gdust.lease.web.admin.vo.apartment.ApartmentDetailVo;
import com.gdust.lease.web.admin.vo.apartment.ApartmentItemVo;
import com.gdust.lease.web.admin.vo.apartment.ApartmentQueryVo;
import com.gdust.lease.web.admin.vo.apartment.ApartmentSubmitVo;

/**
* @author syun
* @description 针对表【apartment_info(公寓信息表)】的数据库操作Service
* @createDate 2025-1-1 15:08:29
*/
public interface ApartmentInfoService extends IService<ApartmentInfo> {
    /**
     * 保存或更新公寓信息
     * @param apartmentSubmitVo 公寓信息VO,内含：公寓配套id、公寓标签id、公寓杂费值id、公寓图片id
     */
    void saveOrUpdateApartment(ApartmentSubmitVo apartmentSubmitVo);

    /**
     * 根据查询条件获取分页后的公寓列表
     * @param page 当前页
     * @param queryVo 查询条件
     * @return
     */
    IPage<ApartmentItemVo> pageApartmentItemByQuery(IPage<ApartmentItemVo> page, ApartmentQueryVo queryVo);

    /**
     * 根据ID获取公寓详细信息
     * @param id 传入的公寓id
     * @return
     */
    ApartmentDetailVo getApartmentDetailById(Long id);

    /**
     * 根据id删除公寓信息
     * @param id 传入的公寓id
     */
    void removeApartmentById(Long id);
}
